SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE [dbo].[spAltaDePlazas]
@Org int,
@SubOrg int,
@Division int,
@Funcion int,
@Asignatura int,
@Turno int,
@FechaAlta varchar(10),
@Horas int,
@NormaCreacion varchar(50),
@Baja varchar(1),
@FechaBaja varchar(10),
@Sistema int,
@RegimenLaboral int,
@Financiamiento int,
@Presupuesto int,
@Finalidad int,
@TipoFuncion int,
@RegimenSalarial int,
@RegimenSuplencias int,
@RegimenDesignacion int,
@Temporalidad int,
@CargoSalarial int,
@Paquete int,
@Observaciones varchar(50),
@PorcentajeSubsidio Int
AS
SET NOCOUNT ON
set dateformat dmy

declare @Falta datetime
declare @Fbaja datetime
declare @proxima int

--Select @proxima = max(idPlaza)+1 from tb_Plazas

declare @Org2 int
Select @Org2 = idOrganizaciones from tb_Organizaciones where cuise = @Org

if @Funcion = -1 
	Select  @Funcion = null
if @Asignatura = -1
	Select @Asignatura = null
if @Turno = -1
	Select @Turno = null
if @NormaCreacion = '-1'
	Select @NormaCreacion = null
if @Sistema = -1
	Select @Sistema = null
if @RegimenLaboral = -1
	Select @RegimenLaboral = null
if @Financiamiento = -1
	Select @Financiamiento = null
if @Presupuesto = -1
	Select @Presupuesto = null
if @Finalidad = -1
	Select @Finalidad = null
if @TipoFuncion = -1
	Select @TipoFuncion  = null
if @RegimenSuplencias = -1
	Select @RegimenSuplencias = null
if @RegimenSalarial = -1
	Select @RegimenSalarial = null
if @RegimenDesignacion = -1
	Select @RegimenDesignacion = null
if @Temporalidad = -1
	Select @Temporalidad = null
if @CargoSalarial = -1
	Select @CargoSalarial = null
if @Observaciones = '-1'
	Select @Observaciones = null

if @Paquete = -1
	Select @Paquete = null

if @fechaalta = '-1'
	select @falta = getdate()
else
	select @falta = convert(datetime, @fechaalta)
if @FechaBaja  <> '-1'
	select @Fbaja = convert(datetime, @FechaBaja)
else
	Select @Fbaja = null
If @PorcentajeSubsidio = -1
	Select @PorcentajeSubsidio = Null

-- Hay que controlar que no se cree una plaza repetida (o que este repetida pero dada de baja)


-- Hago el alta de la Plaza
insert tb_Plazas 
(Cupof, organizacion, suborganizacion, funcion, asignatura, division, turno, fechaalta, nrosecuencia, horas, normacreacion,
baja, fechabaja, ultimodocente, normacierre, sistema, regimenlaboral, financiamiento, presupuesto, finalidad, tipodefuncion, regimensalarial,
regimensuplencias, regimendesigna, temporalidad, cargosalarialdefault, duenoactual, sitrevduenoactual, categoriatituloactualocupante, horario, paquete, 
esjefedeorg, observaciones, cuise, PorcentajeSubsidio)
values (null, @Org2, @SubOrg, @Funcion, @Asignatura, @Division, @Turno, @FAlta, 0, @horas, @NormaCreacion, 
@Baja, @FBaja, null, null, @Sistema, @RegimenLaboral, @Financiamiento, @Presupuesto, @Finalidad, @TipoFuncion, @RegimenSalarial,
@RegimenSuplencias, @RegimenDesignacion, @Temporalidad, @CargoSalarial, null, null, null, null, @Paquete, 'N', @Observaciones, @org, @PorcentajeSubsidio)

declare @idPlaza int
Select @idPlaza =  @@identity

exec spActualizarCUPOF @idPlaza
GO
